Доброе утро!
Допустим мне надо такое:
- Объявить пустой массив.
- Вызвать асинхронный XMLHttpRequest.
- Дождаться его выполнения и проанализировать response.
- Выполнить цикл, количество итераций которого становится понятным лишь на предыдущем шаге.
- В теле цикла мне надо:
- Сделать паузу в 500мс.
- Создать и заполнить FormData (для его заполнения может потребоваться дополнительный XMLHttpRequest, результат которого соответственно надо также дождаться).
- Выполнить асинхронный XMLHttpRequest с текущим FormData.
- Дождаться его выполнения и проанализировать response.
- Если response чем-то мне не понравился - надо опять сделать паузу в 500мс и повторить этот же запрос (и повторять до тех пор, пока не станет нормальным).
- Если response нормальный - то сложить его в массив.
- После окончания цикла надо обработать массив со всеми результатами.
- Возможно потребуется вложенный цикл, но это пока не точно.
Явно вызывать XMLHttpRequest синхронно (третий параметр open) - невозможно, оно стреляет всякие ошибки, да и пишут мол устарело. Какую-то может обёртку можно придумать?
Читал про Promise, но как с ними сгородить
подобное? И как бы ничё что цикл может быть с сотнями итераций,
возможно тысячами, не залипнет ли нахрен..?
Основной целевой браузер Chrome. Никакие библиотеки не используются, никаких jQuery и прочего.
Кто-то может посоветовать что-то? Спасибо!